Transactional Memory Should Be an Implementation Technique, Not a Programming Interface
نویسنده
چکیده
© Transactional Memory Should Be an Implementation Technique, Not a Programming Interface Hans-J. Boehm HP Laboratories HPL-2009-45 transactional memory, locks Transactional memory is often advocated as an easier-to-use replacement or locks that avoids any possibility of deadlock. Recently, as more care has been exercised in precisely specifying its semantics, a number of researchers have observed that probably the most attractive semantics for transactional memory systems is based on "single global lock atomicity", i.e. on the semantics of a single global lock. We argue that this should be taken one step further: The synchronization operations seen by the programmer should really just be locks, possibly with some syntactic sugar for easier programming with a single global lock. Use as a deadlock-free lock replacement does not require any rollback primitive, or any other constructs that expose properties of the implementation. And it appears that such extensions add considerable complexity. External Posting Date: February 21, 2009 [Fulltext] Approved for External Publication Internal Posting Date: February 21, 2009 [Fulltext] Copyright 2009 Hewlett-Packard Development Company, L.P. Transactional Memory Should Be an Implementation Technique, Not a Programming Interface This will appear as a position paper in the USENIX HOTPAR ’09 workshop. Hans-J. Boehm HP Laboratories
منابع مشابه
Beyond Simple Transactions and Atomic Blocks
Concurrent programming is notoriously difficult because actions by concurrent threads may be interleaved and result in unanticipated interactions, particularly on a shared-memory system. One mechanism proposed to address this difficulty is transactional memory (TM): programmers can group several operations into a transaction, which a TM implementation guarantees will appear to execute atomicall...
متن کاملTwo Interfaces to the RSTM Transactional Memory System∗
Software transactional memory is a promising new paradigm for concurrent programming. We explore the design of the application programmer interface to RSTM [MSH06] and propose language extensions to C++ that alleviate some of the unavoidable difficulties with the API. 1 The Transactional Memory Model
متن کاملDistributed Software Transactional Memory
This report describes an implementation of a distributed software transactional memory (DSTM) system in PLT Scheme. The system is built using PLT Scheme’s Unit construct to encapsulate the various concerns of the system, and allow for multiple communication layer backends. The front-end API exposes true parallel processing to PLT Scheme programmers, as well as cluster-based computing using a sh...
متن کاملA Relativistic Enhancement to Software Transactional Memory
Relativistic Programming is a technique that allows low overhead, linearly-scalable concurrent reads. It also allows joint access parallelism between readers and a writer. Unfortunately, it has so far been limited to a single writer so it does not scale on the write side. Software Transactional Memory (STM) is a technique that allows programs to take advantage of disjoint access parallelism on ...
متن کاملMemory Management for Concurrent Data Structures on Hardware Transactional Memory
Similar to fine-grained locking, and lock-free programming, memory management poses challenges to programming systems with hardware transactional memory (HTM). Thus, scalable data structures need to integrate a memory management scheme, such as hazard pointers, repeated offender, reference counting, and StackTrack. In this paper, we revisit epochs, another popular memory management technique, a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009